extends Node


const 玩家节点 = preload("uid://dqsddg881b1en")
var 玩家对象:玩家

func _ready() -> void:
	pass


# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta: float) -> void:
	pass
	
func 添加玩家(节点,坐标:Vector2 = Vector2.ZERO,方向:Vector2=Vector2.ZERO) -> void:
	  # 获取分组中所有节点
	var group_nodes = get_tree().get_nodes_in_group('玩家角色')
	# 检查目标节点是否在分组中
	if 玩家节点 in group_nodes:
		玩家节点.remove_from_group("玩家角色")
	var 获取玩家节点:CharacterBody2D = 节点.get_node('玩家角色')
	if is_instance_valid(获取玩家节点):
		节点.remove_child(获取玩家节点)
	玩家对象 = 玩家节点.instantiate()
	玩家对象.process_mode = Node.PROCESS_MODE_INHERIT
	玩家对象.global_position = 坐标
	玩家对象.add_to_group("玩家角色")
	玩家对象.方向向量 = 方向
	节点.add_child.call_deferred(玩家对象)
	玩家对象.get_node('特效动画').play('无敌帧')
	
func 设置玩家坐标(玩家坐标:Vector2) -> void:
	玩家对象.global_position = 玩家坐标
